import request from '../utils/request'

// 角色管理API

// 获取角色列表
export function getRoleList(params: any) {
  return request({
    url: '/system/roles',
    method: 'get',
    params
  })
}

// 获取角色详情
export function getRoleDetail(id: number) {
  return request({
    url: `/system/roles/${id}`,
    method: 'get'
  })
}

// 创建角色
export function createRole(data: any) {
  return request({
    url: '/system/roles',
    method: 'post',
    data
  })
}

// 更新角色
export function updateRole(id: number, data: any) {
  return request({
    url: `/system/roles/${id}`,
    method: 'put',
    data
  })
}

// 删除角色
export function deleteRole(id: number) {
  return request({
    url: `/system/roles/${id}`,
    method: 'delete'
  })
}

// 获取角色权限
export function getRolePermissions(id: number) {
  return request({
    url: `/system/roles/${id}/permissions`,
    method: 'get'
  })
}

// 分配角色权限
export function assignRolePermissions(id: number, data: any) {
  return request({
    url: `/system/roles/${id}/permissions`,
    method: 'post',
    data
  })
}

// 权限管理API

// 获取菜单权限树
export function getMenuPermissionTree() {
  return request({
    url: '/system/permissions/menu/tree',
    method: 'get'
  })
}

// 获取按钮权限列表
export function getButtonPermissions() {
  return request({
    url: '/system/permissions/button',
    method: 'get'
  })
}

// 获取数据权限列表
export function getDataPermissions() {
  return request({
    url: '/system/permissions/data',
    method: 'get'
  })
}

// 获取所有权限列表
export function getAllPermissions() {
  return request({
    url: '/system/permissions',
    method: 'get'
  })
}